#include <bits/stdc++.h>
using namespace std;
int d, s;
bool vis[505][5005];
struct state {
int d, s;
string cur;
state (int d = 0, int s = 0, string cur = "") : d(d), s(s), cur(cur) {};
};
void bfs() {
cin >> d >> s;
queue <state> q;
q.push(state(0, 0, ""));
vis[0][0] = true;
while(not q.empty()) {
state val = q.front();
q.pop();
if(val.s > s) continue;
if(val.d == 0 and val.s == s) {
cout << val.cur << "\n";
return;
}
for(int i = 0; i < 10; i++) {
int cur_d = (val.d * 10 + i) % d;
int cur_s = val.s + i;
if(!vis[cur_d][cur_s]) {
vis[cur_d][cur_s] = true;
q.push(state(cur_d, cur_s, val.cur + (char) (i + '0')));
}
}
}
cout << -1 << "\n";
}
int main() {
bfs();
return 0;
}
415. Add Strings | 22. Generate Parentheses |
13. Roman to Integer | 2. Add Two Numbers |
515. Find Largest Value in Each Tree Row | 345. Reverse Vowels of a String |
628. Maximum Product of Three Numbers | 1526A - Mean Inequality |
1526B - I Hate 1111 | 1881. Maximum Value after Insertion |
237. Delete Node in a Linked List | 27. Remove Element |
39. Combination Sum | 378. Kth Smallest Element in a Sorted Matrix |
162. Find Peak Element | 1529A - Eshag Loves Big Arrays |
19. Remove Nth Node From End of List | 925. Long Pressed Name |
1051. Height Checker | 695. Max Area of Island |
402. Remove K Digits | 97. Interleaving String |
543. Diameter of Binary Tree | 124. Binary Tree Maximum Path Sum |
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts | 501A - Contest |
160A- Twins | 752. Open the Lock |
1535A - Fair Playoff | 1538F - Interesting Function |